using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using Entidades;

namespace SistemaProduccion.DAL
{
    public class ad_Obras:AD_ABM
    {
         
        internal DataSet listar()
        {
            //string[,] nomParam = new string[1, 3];

            //nomParam[0, 0] = "@cod_usu";
            //nomParam[0, 1] = Usr.CodUsu;
            //nomParam[0, 2] = TipoDato.GUID.ToString();
            dtsObras Dts = new dtsObras();
            string[] nombreTablas = new string[] { Dts.Obra.TableName.ToString() };
            return AD_Leer(Dts,nombreTablas,SP_Constructora.leerObras );
        }

        internal DataSet guardar(IEntidad objeto)
        {
            dtsErrores error ;
            dtsObras Dts = new dtsObras();
            string[,] nomParam = new string[3, 3];
            
            clsObra Obra = (clsObra) objeto;

            nomParam[0, 0] = "@codObra";
            nomParam[0, 1] = (Obra.Id.Equals(""))?null:Obra.Id;
            nomParam[0, 2] = TipoDato.GUID.ToString();

            nomParam[1, 0] = "@descripcion";
            nomParam[1, 1] = Obra.Descripcion;
            nomParam[1, 2] = TipoDato.STRING.ToString();

            nomParam[2, 0] = "@ubicacion";
            nomParam[2, 1] = Obra.Ubicacion;
            nomParam[2, 2] = TipoDato.STRING.ToString();

            string[] nombreTablas = new string[] { Dts.Obra.TableName.ToString() };

            if (Obra.Id.Equals(""))
            {
                error = AD_Agregar(SP_Constructora.agregarObra,nomParam);    
            }
            else
            {
                error = AD_Modificar(SP_Constructora.modificarObra,nomParam);
            }

              


            return error;
                
        }

        internal DataSet eliminar(IEntidad objeto)
        {
            dtsErrores error;
            dtsObras Dts = new dtsObras();
            string[,] nomParam = new string[1, 3];

            clsObra Obra = (clsObra)objeto;

            nomParam[0, 0] = "@codObra";
            nomParam[0, 1] = Obra.Id;
            nomParam[0, 2] = TipoDato.GUID.ToString();

            string[] nombreTablas = new string[] { Dts.Obra.TableName.ToString() };

            error = AD_Borrar(SP_Constructora.eliminarObra, nomParam);

            return error;
        }
    }
}
